System development methodology